ディスクパラメータの詳細
ここではブートセクターの中の特にディスクパラメータについて解説する。BPB(BIOS Parameter Block)とも呼ばれる。ただしBPBは以下のOEM名が記録される先頭8バイトを除いたものを指すのが普通だ。
まずはFAT16の場合のディスクパラメータを見てみよう。
[FAT16のディスクパラメータ]
| offset | サイズ(bytes) | 内容 | 値 |
| 03 | 8 | OEM名 | |
| 0B | 2 | セクターサイズ | 512 |
| 0D | 1 | セクター数/クラスター | |
| 0E | 2 | 予約セクター数 | |
| 10 | 1 | FATの数 | |
| 11 | 2 | ルートディレクトリエントリー数 | |
| 13 | 2 | 全セクター数 | |
| 15 | 1 | メディアDescriptor | |
| 16 | 2 | セクター数/FAT | |
| 18 | 2 | セクター数/トラック | |
| 1A | 2 | ヘッド数 | |
| 1C | 4 | 隠しセクター数 | |
| 20 | 4 | 全Bigセクター数 | |
| 24 | 1 | ドライブID | |
| 25 | 1 | ダーティーフラグ | |
| 26 | 1 | 拡張ブートサイン | |
| 27 | 4 | シリアル番号 | |
| 2B | 11 | ボリューム名 | |
| 36 | 8 | ファイルシステムタイプ | FAT16 |
このパーティションのファイルシステムの各種情報盛り込まれている。この中で比較的重要なのは別名アロケーションユニットサイズとの呼ばれる「セクター数/クラスター」だろう。ボリューム名などもおなじみだ。
IPLは基本的にこれらのデータを見て、IO.SYSなどを探して、次のブートシーケンスに進む訳だ。
次にFAT32の場合を見てみよう。
[FAT32のディスクパラメータ]
| offset | サイズ(bytes) | 内容 | 値 |
| 03 | 8 | OEM名 | |
| 0B | 2 | セクターサイズ | 512 |
| 0D | 1 | セクター数/クラスター | |
| 0E | 2 | 予約セクター数 | |
| 10 | 1 | FATの数 | |
| 11 | 4 | (リザーブ) | |
| 15 | 1 | メディアDescriptor | |
| 16 | 2 | セクター数/FAT | |
| 18 | 2 | セクター数/トラック | |
| 1A | 2 | ヘッド数 | |
| 1C | 4 | 隠しセクター数 | |
| 20 | 4 | 全Bigセクター数 | |
| 24 | 4 | Bigセクター数/FAT | |
| 28 | 2 | 拡張フラグ | |
| 2A | 2 | ファイルシステムバージョン | |
| 2C | 4 | ルートの最初のクラスター | |
| 30 | 2 | ファイルシステム情報セクター位置 | |
| 32 | 2 | バックアップブートセクター位置 | 6 |
| 34 | 12 | (リザーブ) | |
| 40 | 1 | ドライブID | |
| 41 | 1 | (NTのためのリザーブ) | |
| 42 | 1 | 拡張ブートサイン | |
| 43 | 4 | シリアル番号 | |
| 47 | 11 | ボリューム名 | |
| 52 | 8 | ファイルシステムタイプ | FAT32 |
FAT16よりはいろいろな情報が増えているが、それ程大きな違いはない。おもしろいのはバックアップブートセクターというものだ。実はWindows98では、当該ブートセクターが壊れた場合のためにバックアップを6番セクター(先頭から7番目のセクター)に書いている。従ってWindows98が作るMBRのブートストラップローダは、もし通常のブートセクターが壊れいた場合、こちらのセクターを読み込んでブートする。
さて、最後にNTFSのディスクパラメータを見てみよう。
[NTFSのディスクパラメータ]
| offset | サイズ(bytes) | 内容 | 値 |
| 03 | 8 | OEM名 | NTFS |
| 0B | 2 | セクターサイズ | 512 |
| 0D | 1 | セクター数/クラスター | |
| 0E | 2 | 予約セクター数 | |
| 10 | 1 | FATの数 | |
| 11 | 2 | ルートディレクトリエントリー数 | |
| 13 | 2 | 全セクター数 | |
| 15 | 1 | メディアDescriptor | |
| 16 | 2 | セクター数/FAT | |
| 18 | 2 | セクター数/トラック | |
| 1A | 2 | ヘッド数 | |
| 1C | 4 | 隠しセクター数 | |
| 20 | 4 | 全Bigセクター数 | |
| 24 | 4 | 未使用 | |
| 28 | 8 | 全NTFSセクター数 | |
| 30 | 8 | MFT開始クラスター | |
| 38 | 8 | MFTミラー開始クラスター | |
| 40 | 4 | クラスター数/FRS | |
| 44 | 4 | クラスター数/Indexブロック | |
| 48 | 4 | シリアル番号 | |
| 4C | 4 | チェックサム |
FATと似たようなデータもある。これはNTFSでもセクターをいくつかまとめたクラスターという概念があるので、その点が同じだからだ。しかし全く異なったものもいくつか見受けられる。MFTというのはMaster File Tableで、その名の通りFATに変わる新しい概念である。